Міністерство освіти і науки України
Національний університет „Львівська політехніка”
ІКТА ,кафедра «Захист інформації»
Звіт
З ЛАБОРАТОРНОЇ РОБОТИ № 2
З КУРСУ “ КОМП’ЮТЕРНІ МЕТОДИ ДОСЛІДЖЕННЯ ІНФОРМАЦІЙНИХ ПРОЦЕСІВ ТА СИСТЕМ ”
НА ТЕМУ: “ МЕТОД ГАУССА ДЛЯ РОЗВ’ЯЗУВАННЯ СИСТЕМ
ЛІНІЙНИХ АЛГЕБРАЇЧНИХ РІВНЯНЬ“
Варіант 21
Львів-2007
Мета роботи – ознайомлення з прямими методами розв’язування систем лінійних
алгебраїчних рівнянь.
Короткі теоретичні відомості
Класичний метод Гауса.
Розглянемо систему рівнянь четвертого порядку:
(1)
Зауважимо, що елементи вектора-стовпчика вільних членів занесені в матрицю коефіцієнтів А.
Будемо вважати, що . З першого рівняння знаходимо х1:
, (2)
де , .
З допомогою рівняння (2) можна виключити з решти рівнянь, для чого достатньо підставити (2) для в друге, третє і четверте рівняння системи. Це і є першим кроком – кроком виключення невідомого .
,
Перехід від початкової системи
до новоствореної
відбувається за такою формулою:
Другий крок – виключення невідомого відбувається аналогічно:
Третій крок – виключення невідомого
,
;
Останнє рівняння можна переписати у вигляді:
або .
Отже, в результаті прямого ходу одержимо систему рівнянь:
Знаходження невідомих проводиться в оберненому ході методу Гауса шляхом зворотних підстановок.
Якщо п – кількість рівнянь (порядок) системи, то програмування обчислювального процесу проводиться так:
L – кількість кроків виключення ;
j – позначення другого індексу при визначенні α ;
і – номер рядка системи ;
k – номер стовпця.
Можна записати, що для всіх
Обернений хід: , .
Отже, обчислювальна схема прямого ходу методу Гауса має вигляд:
Для
Для
Для
Для
i піддається спрощенню.
Початкове обчислення всіх коефіцієнтів α не є обов’язковим. Це випливає з наступного. Наприклад, перехід від початкової системи коефіцієнтів до наступної відбувається так:
Наприклад, коефіцієнти першого чи другого стовпця нової системи утворюються за правилом
,
або
Отже, визначивши, наприклад α12 зразу ж можна переходити до визначення коефіцієнтів нової системи і т.п. Таким чином цикли по J i по K можна об’єднати (оскільки, що J i K змінюються в однакових межах).
Якщо замінити на та цикли по J та по K об’єднати в один (тобто J на K), то одержимо загальну форму методу виключення Гауса із стовпцевою формою розкладу матриці А до трикутного вигляду)
В кінці цих перетворень одержимо:
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Розв’язати систему лінійних алгебраїчних рівнянь методом Гауса:
Таблиця ідентифікаторів констант, змінних, процедур та функцій, використаних у програмі, та їх пояснення:
n
Константа, що задає кількість рівнянь (порядок) системи
m
Константа, що задає кількість коефіцієнтів a і вільних членів b
l
Змінна, кількість кроків виключення
i
Змінна, номер рядка системи
k
Змінна, номер стовпця, позначення другого індексу при визначенні α
c
Змінна, в якій зберігаються коефіцієнти з головної діагоналі
s
Змінна, яка використовується для знаходження невідомих
a
Змінна, масив, що задає кількість коефіцієнтів a і вільних членів b
x
Змінна, масив, що задає кількість невідомих
write()
Функція вводу елементів
writeln()
Функція вводу елементів
readln()
Функція виводу елементів
Текст програми мовою Pascal
Program gaus(input,output);
const n=4 ;m=5 ;
var l,i,k:integer;
c,s:real;
a:array[1..n,1..m] of real;
x:array[1..n] of real;
begin
for i:=1 to n do
for k:=1 to m do
begin
write('a[',i,',',k,']=');
readln(a[i,k]);
end;
for l:=1 to n-1 do
begin
c:=a[l,l];
for k:=l+1 to n+1 do
begin
...